package com.qingzhuge.sys.service;


import com.qingzhuge.interfaces.IPersistable;
import com.qingzhuge.service.IBasePkLongService;
import com.qingzhuge.sys.entity.SysConfig;
import com.qingzhuge.sys.entity.SysSiteConfig;

/**
 * @author : zero.xiao
 * @description : 系统配置信息
 * @date :2018/6/8 0008 下午 15:04
 * @modified :
 * @since : 1.0.0
 */
public interface ISysConfigService extends IBasePkLongService<SysConfig> {

    /**
     * 根据key，获取配置的value值
     *
     * @param key key
     */
    SysConfig getValue(String key);

    /**
     * 根据key，获取value的Object对象
     *
     * @param key   key
     * @param clazz Object对象
     */
    <T extends IPersistable> T getConfigObject(String key, Class<T> clazz);

    SysSiteConfig getSiteConfig();
}
